package com.itheima.d4_tcp1quick_start;

import java.io.DataInputStream;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;

/**
 * 目标：完成TCP通信快速入门
 *
 * 服务端开发：实现1发1收。
 */
public class Server {
    public static void main(String[] args) throws Exception {
        System.out.println("-----服务端启动成功-------");
        // 1、创建ServerSocket的对象，同时为服务端注册端口。
        ServerSocket serverSocket = new ServerSocket(7777);

        while (true) {
            // 2、使用serverSocket对象，调用一个accept方法，等待客户端的连接请求
            Socket socket = serverSocket.accept();
            //这个socket的作用是用来与客户端socket通讯的

            // 3、从socket通信管道中得到一个字节输入流。
            InputStream netIn = socket.getInputStream();

            // 4、把原始的字节输入流包装成数据输入流
            DataInputStream dataInput = new DataInputStream(netIn);

            // 5、使用数据输入流读取客户端发送过来的消息
            String msg = dataInput.readUTF();
            // 其实我们也可以获取客户端的IP地址
            System.out.println(socket + "::" + msg);

            //socket资源释放
        }

//        //6、释放资源 ---> 服务端应该持续服务
//        serverSocket.close(); //Unreachable statement
    }
}













